#include <iostream>
#include "ShareMemory.hpp"
#include <string.h>
#include "Time.hpp"
#include "Fifo.hpp"

int main()
{
    // 获取
    shm.GetShm();
    // 挂接
    shm.AttachShm();
    gpipe.OpenPipeForWrite();
    // IPC 写

    // // 1.传单个字符
    // char *strinfo = (char *)shm.GetAddr();
    // // printf("client 虚拟地址：%p\n",strinfo);
    // char ch = 'A';
    // while (ch <= 'Z')
    // {
    //     sleep(3);
    //     strinfo[ch - 'A'] = ch;
    //     ch++;
    // }

    // 1.传结构体
    struct data *image = (struct data *)shm.GetAddr();
    // printf("client 虚拟地址：%p\n",strinfo);

    while (true)
    {
        strcpy(image->status, "最新");
        strcpy(image->lasttime, GetCurrTime().c_str());
        strcpy(image->image,"wll1314520");
        gpipe.Signal();//写完了，通知server读
        sleep(3);
    }

    // 去关联
    shm.DetachShm();

    return 0;
}

// int main()
// {
//     //获取
//     shm.GetShm();
//     //挂接
//     shm.AttachShm();
//     std::cout<<"server 挂接成功"<<std::endl;
//     sleep(10);

//     //去关联
//     shm.DetachShm();
//     std::cout<<"server 去关联成功"<<std::endl;
//     sleep(10);

//     return 0;
// }